package cn.song.freight.domain.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotNull;

/**
 * 通用策略查询数据传输对象
 * <pre>
 * 用于所有需要根据策略ID进行查询的操作。
 * 包含运费策略ID，用于获取该策略下的相关数据。
 *
 * 适用场景：
 * - 查询策略下的重量区间规则
 * - 查询策略的区域映射关系
 * - 查询策略的分配情况
 * - 其他基于策略ID的查询操作
 *
 * @author SongRenShuo
 * @version 3.0.0
 * @since 2025-08-24
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(description = "通用策略查询数据传输对象")
public class BaseStrategyQueryDTO {

    /**
     * 运费策略ID - 要查询相关数据的策略唯一标识符
     */
    @NotNull(message = "运费策略ID不能为空")
    @ApiModelProperty(value = "运费策略ID", required = true, example = "1")
    private Long strategyId;
}
